package com.hibase.upms.entity.role.vo;

import com.hibase.core.web.annotation.HibaseValid;
import com.hibase.upms.constant.UserManagerConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 新增与移除角色菜单VO
 *
 * @author ChrisCui
 * @date 2019/04/22
 */
@ApiModel("添加/移除角色菜单vo")
@HibaseValid
@Data
public class MdsRoleMenuOpVO {

    @NotEmpty(message = "请选择角色")
    @ApiModelProperty(value = "角色id")
    private String roleId;

    @NotEmpty(message = "请至少选择一个菜单")
    @ApiModelProperty(value = "菜单id集合")
    private List<String> menuId;

    /**
     * 2021年11月17日 排除分组菜单
     * @return
     */
    public List<String> getMenuId() {
        return menuId.stream().filter(menuId->!menuId.startsWith(UserManagerConstant.EXCLUDE_MENU_PREFIX)).collect(Collectors.toList());
    }
}
